package com.example.activitispringbootstest.service;

import com.example.activitispringbootstest.common.Processable;
import org.activiti.engine.task.Task;

import java.util.List;
import java.util.Map;

/**
 * @author swxu_2005@163.com
 * @date 2019/2/4
 */
public interface ProcessTaskService {
  void startProcess(Processable bussinessObj, String key, Map<String, Object> variables);

  List<Task> queryTodoTasks(String key);

  List<Task> queryTodoTasks();

  void queryHisTasks();

  void claimTask(String taskId);

  void completeTask(String taskId, String processInstanceId, String comment, Map<String, Object> variables);

  void completeTask(String taskId, Map<String, Object> variables);

  void completeTask(String taskId);
}
